<?php

    if (! defined('SIMPLE_TEST')) {
        define('SIMPLE_TEST', '../simpletest/');
    }
    require_once(SIMPLE_TEST . 'autorun.php');

    include '../Include/Include.php';


class ProveedorAcualizarLogicaTest extends UnitTestCase {

    public function UsuarioAcualizarLogicaTest() {
        $this->UnitTestCase();
    }

    public function testhacer() {
        $DBConn = null;
        $conexion = new conexion();
        $DBConn = $conexion->setConnect();
        $DBConn->consulta( "INSERT INTO usuario VALUES (-1, -1, 'Prueba Nombre',
                            'Prueba Apellido', 'Prueba Direccion', '0444-444-44-44',
                            'PruebaEmail@gmail.com', 'Prueba Clave', 'USER', 1);" );

        $usuario = new Usuario( -1, -1, 'Prueba Nombre',
                            'Prueba Apellido', 'Prueba Direccion', '0444-444-44-44',
                            'PruebaEmail@gmail.com', 'Prueba Clave', 'USER', 1);

        $usuarioActualizarLogicaTest = new UsuarioAcualizarLogica($usuario);
        $respuesta = $usuarioActualizarLogicaTest->hacer();

        $this->assertTrue($respuesta);

        $DBConn->consulta( "SELECT * FROM usuario
                           WHERE USR_ID = -1
                           AND USR_STATUS = 1" );

        $fila = $DBConn->extraer_registro();

        $this->assertEqual( -1 , $usuario->getId() );
        $this->assertEqual( -1 , $usuario->getCedula() );
        $this->assertEqual( 'Prueba Nombre' , $usuario->getNombre() );
        $this->assertEqual( 'Prueba Apellido' , $usuario->getApellido() );
        $this->assertEqual( 'Prueba Direccion' , $usuario->getDireccion() );
        $this->assertEqual( '0444-444-44-44' , $usuario->getTelefono() );
        $this->assertEqual( 'PruebaEmail@gmail.com' , $usuario->getEmail() );
        $this->assertEqual( 'Prueba Clave' , $usuario->getClave() );
        $this->assertEqual( 'USER' , $usuario->getPrivilegio() );

         $DBConn->consulta( "INSERT INTO usuario VALUES (-2, 123, 'Prueba Nombre',
                            'Prueba Apellido', 'Prueba Direccion', '0444-444-44-44',
                            'PruebaEmail@gmail.com', 'Prueba Clave', 'USER', 1);");

        $usuario = new Usuario( -1, 123, 'Prueba Nombre2',
                            'Prueba Apellido2', 'Prueba Direccion2', '0666-666-66-66',
                            'PruebaEmail2@gmail.com', 'Prueba Clave2', 'USER2', 1);

        $usuarioActualizarLogicaTest = new UsuarioAcualizarLogica($usuario);
        $respuesta = $usuarioActualizarLogicaTest->hacer();

        $this->assertFalse($respuesta);
        $DBConn->consulta("DELETE FROM usuario
                          WHERE USR_ID = -1" );

        $DBConn->consulta("DELETE FROM usuario
                          WHERE USR_ID = -2" );
    }
}

?>
